package com.fac.vo;

import com.fac.json.JacksonObjectMapper;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Builder;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 管理端支付记录VO
 */
@Data
@Builder
@ApiModel(description = "管理端支付记录返回对象")
public class PaymentAdminVO implements Serializable {

    @ApiModelProperty(value = "支付ID", example = "1")
    private Long paymentId;

    @ApiModelProperty(value = "支付编号", example = "P202401010001")
    private String code;

    @ApiModelProperty(value = "订单编号", example = "L202401010001")
    private String orderCode;

    @ApiModelProperty(value = "用户名", example = "张三")
    private String userName;

    @ApiModelProperty(value = "支付金额", example = "1000.00")
    private BigDecimal amount;

    @ApiModelProperty(value = "支付类型：租金/押金/维修费", example = "租金")
    private String paymentType;

    @ApiModelProperty(value = "支付方式：微信/支付宝/信用卡", example = "微信")
    private String paymentMethod;

    @ApiModelProperty(value = "状态：0未支付，1已支付", example = "1")
    private Integer status;

    @ApiModelProperty(value = "交易ID", example = "2024010112345678")
    private String transactionId;

    @ApiModelProperty(value = "支付时间", example = "2024-01-01 12:00:00")
    @JsonFormat(pattern = JacksonObjectMapper.DEFAULT_ALL_DATE_TIME_FORMAT)
    private LocalDateTime paymentTime;
} 